home *** CD-ROM | disk | FTP | other *** search
/ E.M.Computergraphic Phase 4 / Phase 4 - Desktop Video Dreams (E. M. Computergraphic)(1996).iso / utilities / jacosub / scripts / demo.js next >
Text File  |  1996-01-02  |  10KB  |  216 lines

  1. # Demonstration script for JACOsub video titling software.
  2.  
  3. # You might want to print out a hard copy of this script, and refer to it
  4. # while you play the script in Step Mode.
  5.  
  6. # This script demonstrates the flexibility of the JACOsub file format,
  7. # going through nearly all of the features available.  Don't be alarmed
  8. # by the size; this script consists mostly of comments.  The running time
  9. # is just over a minute.
  10.  
  11. # You can load TurboTitle, Generic, and Arizona Anime Society format
  12. # scripts directly into JACOsub, which will automatically convert them
  13. # to JACOsub format.  However, for these and other formats (such as
  14. # Panimator) you should convert them using Jconvert before loading them
  15. # into JACOsub to correct bad time-overlaps in those scripts.
  16.  
  17. # Now let's begin.  All the directives and commands demonstrated in this
  18. # script are shown in UPPERCASE the first time they are used.
  19.  
  20.   # First, let's set up some defaults.  Time units default to SMPTE
  21.   # (1/30 second) units.  We'll use 1/100 seconds because it's simpler to
  22.   # understand for now.
  23.   # Note: All # commands may be specified by a single letter.  For example,
  24.   # below we could use #T instead of #TIMERES.
  25.  
  26. #TIMERES 100
  27.  
  28.   # Next, suppose this script consisted of subtitles played against a
  29.   # foreign film, and we noticed that the time events were drifting so that
  30.   # by the end of the script, the subtitles were occurring 2.2 seconds too
  31.   # soon.  This means we need to stretch the script's total running time
  32.   # by 2.2 seconds to correct the drift.  The #Ramp command does this.  The
  33.   # number past the decimal point is time units (in 1/100 seconds as
  34.   # specified by the #T command above), not fractions of a second.
  35.  
  36. #RAMP 2.20
  37.  
  38.   # Set font 3 for use near the end of this script, where we demonstrate
  39.   # outlining and shadowing of mono-color fonts.  JACOsub.font 18 is a
  40.   # mono-color font which JACOsub uses for its running clock display.
  41.  
  42. #FONT 3 JACOsub.font 18
  43.  
  44.   # Let's change some default colors while we're at it....
  45.  
  46. #P1  0 14 14     (set "slow text" color 1 of primary palette to cyan)
  47. #p3 14  0  0  1  (set color 3 of palette 1 to red)
  48.  
  49.   # Now we will start with the list of timed lines.  Each timed line has
  50.   # the format
  51.   # <start time> <stop time> <directive> <text>
  52.  
  53.   # Just for the fun of it, let's load in an IFF file
  54.   # to serve as a backdrop for the first few titles.
  55.  
  56. 0:00:00.00 0:00.09.00 IL JACO.bbm 0 0 {logo will be centered on the screen}
  57.  
  58.   # Now, show an introductory title centered on the screen for 4 seconds.
  59.   # This line demonstrates the newline escape character, or manual
  60.   # wordwrap.  The new substrings created will also be word-wrapped
  61.   # automatically if they don't fit within the default width limits.
  62.   # You can also turn wordwrapping off for a line with the W0 directive.
  63.  
  64.   # Notice also that the concatenation escape code (the \ at the end of
  65.   # each line) is NOT the same as a newline in your text.  The ending \
  66.   # character means to assume that the next line is a continuous part of
  67.   # the current one.  It works even if you break a word at the end.
  68.   # Concatenation ignores all space after the \ and all space before the
  69.   # first character on the line that follows the \.
  70.  
  71. 0:00:00.00 0:00:04.00 VM JACOsub\n\nThis script demonstrates \
  72.                          some of the capabilities of JACOsub.
  73.  
  74.   # The next 3 lines demonstrate vertical positioning and overlapping time
  75.   # ranges.  Notice how the times for each of the lines are set.  All three
  76.   # lines are present on the screen only between times 5.50 and 6.50.
  77.  
  78. 0:00:04.00 0:00:05.50 VT Text may be positioned at the top,
  79. 0:00:05.00 0:00:06.50 vm middle,
  80. 0:00:06.00 0:00:07.50 VB or bottom of the screen.
  81.  
  82.   # The next line shows how you can insert comments inside the text.  This
  83.   # is useful for making notes about translations and character names when
  84.   # subtitling foreign films.  Here we also demonstrate how Italics (\I)
  85.   # and Normal (\N) escape codes can be embedded in the title text.
  86.  
  87. 0:00:08.00 0:00:11.00 vm {this is a comment} (And, you can see, {another \
  88.                          comment} timing ranges for different lines of \
  89.                          text \Iand\N graphics may overlap.)
  90.  
  91.   # Here we demonstrate that graphics can also be overlapped in time.
  92.  
  93. 0:00:9.50 0:00:12.60 il JACO.bbm 25 25    {place logo lower right}
  94.  
  95.   # Now we demonstrate left/right/center justification
  96.  
  97. 0:00:11.00 0:00:13.50 JL Within margin constraints\n\
  98.                          that you set, text may be\nleft justified,
  99. 0:00:13.50 0:00:14.75 JC {the JC is redundant - it's the default}\
  100.                          center\njustified,
  101. 0:00:14.75 0:00:16.00 JR and also\nright justified.
  102.  
  103.   # Here we show what you can do with margin settings.  The first line
  104.   # sets the right margin to 33% of the screen (left margin is at 1%), and
  105.   # the second line sets the left margin at 50% of the screen (right
  106.   # margin is at 99%).  We also demonstrate two fonts on the same screen.
  107.  
  108. 0:00:15.60 0:00:22.00 vtHR33   You can, for example, set your margins \
  109.                so that text is confined to the left 1/3 of the screen.
  110. 0:00:17.50 0:00:22.00 vbHL50F1 And you can place other text elsewhere \
  111.          (with a different font, even) by setting different margins for it.
  112.  
  113.   # Now we demonstrate different text styles and colors.  Notice here we
  114.   # use the VL directive to position the text on different lines.
  115.  
  116. 0:00:22.30 0:00:28.00 VL3 You may have different text styles\n(Normal, \BBold, \IItalic\N)
  117. 0:00:22.30 0:00:28.00 vl5 and different \C1colors
  118.                       # Notice here the default text color has been
  119.                       # changed to 1 and restored to 3 inside the text.
  120. 0:00:24.00 0:00:28.00 CF1vl7 all \C3mixed \C1\Itogether.
  121.  
  122.   # On the same screen, demonstrate loading in a different color palette
  123.   # so that another color appears (color 3=red as defined in Palette 1).
  124.  
  125. 0:00:26.00 0:00:28.00 CP1vl8 (even with different palettes.)
  126.  
  127.   # Here's a trick.  We will rapidly cycle through some blank screens
  128.   # so that the current display will "catch up" to the background display
  129.   # buffer being generated.  We use color 1 text here, which is slow.
  130.  
  131. 0:00:28.01 0:00:28.02 D ~
  132. 0:00:28.02 0:00:28.03 D ~
  133. 0:00:28.03 0:00:28.04 D ~
  134. 0:00:28.04 0:00:28.05 D ~
  135.  
  136.   # But before we do that, just for fun, let's define directive D2 as
  137.   # CF1VM to use in the next line, for
  138.   # "Color Fontface 1, Vertical position Middle."
  139.  
  140. #d2 CF1VM
  141.  
  142. 0:00:28.05 0:00:32.00 D2 Here the display was intentionally ``caught up'' \
  143.                          to the background generation, to show how slowly \
  144.                          color 1 text is generated in the background.
  145.  
  146.   # In the next title, lots of things happen at once.  We demonstrate
  147.   # Three things: block justification with word justification, the vertical
  148.   # continuation directive, and background shading.
  149.  
  150.   # The first title after this comment demonstrates the JB (Justify Block)
  151.   # directive.  Text is left-justified, but it is not positioned flush with
  152.   # the left margin - the block of text is centered on the screen but the
  153.   # first character of each line are flush left.  In other words, the JL
  154.   # means "left justify" but JBC means "center block."
  155.  
  156.   # The next title demonstrates the VU directive to show how you can
  157.   # continue a long line of text underneath previous ones.
  158.   # Here we also demonstrates background shading -- a semi-transparent
  159.   # rectangle will appear behind the text, 8 pixels larger than the text
  160.   # all around.
  161.  
  162. 0:00:32.30 0:00:43.00 d2jlJBC \
  163.    You will see that sort of foreground generation if you use a lot of \
  164.    ``slow'' color 1 text.\n\C3(Color 3 text is very fast.)
  165. 0:00:32.30 0:00:43.00 VUcf1CS8 \n\n\Plan your timings so the display won't catch up to the view being generated in the background.
  166.  
  167.   # Demonstrate backgrounds that are opaque to the genlock, by specifying
  168.   # a background color.  This will clear the whole screen to that color
  169.   # before any text is drawn on it, and before any IFF files are overlaid
  170.   # onto it.
  171.  
  172. 0:00:43.00 0:00:50.00 CB1vm You can change the screen background color, too.\
  173. \n\nThis is useful if you want to make an opaque screen when using a genlock.
  174.  
  175.   # Demonstrate the #Include command.
  176.   # The VH and CSL directives are demonstrated in the #included script.
  177.  
  178. #I 0:00:50.00 idemo  # include another script, offset by 50 seconds
  179.  
  180.   # Outlining and shadowing.  The first and second lines show outlining
  181.   # a mono-color font.  The third line demonstrates font shadow generation.
  182.   # The shadow extends to the southwest (lower left).  The fourth line
  183.   # demonstrates both outlining and shadowing (to the southeast).  We use
  184.   # font 3 for all these four lines (font 3 was set to JACOsub.font 18 in
  185.   # the beginning of this script).
  186.  
  187. 0:00:58.00 0:01:05.00 FO2f3vm JACOsub can also generate outlines of any thickness around normal mono-colored fonts,
  188. 0:00:58.00 0:01:05.00 fo3f3vu as you can see here.
  189. 0:00:58.00 0:01:05.00 FSSW4f3vu    \nAlso, dropshadows in any of 8 directions are possible,
  190. 0:00:58.00 0:01:05.00 fsSE3fo2f3vu \nand outlines and shadows may be combined.
  191.  
  192.   # Demonstrate clock pausing.  This is useful for making a single script
  193.   # to handle multiple sides of a laserdisc.
  194.  
  195. 0:01:05.00 0:01:06.00 vm Right now the clock is paused (you can see this \
  196.                          if you play the script using the clock display).\n
  197. 0:01:05.00 0:01:06.00 vuf1cf1 Press any key to continue playing, or ESC to abort.
  198. #CLOCKPAUSE 0:01:05.00
  199.  
  200.   # Show the last screen.  We'll use the alternate frame-count format for
  201.   # the start and stop times.  For this script, there are 100 counts per
  202.   # second.  Normally this format would be used when the time resolution
  203.   # is 30 per second (which would have been the default if #T100 wasn't
  204.   # specified at the beginning of the script).
  205.   # The times below correspond to 0:01:06.00 and 0:01:11.00.
  206.  
  207. @0006600 @0007100 vm OK, this script will be finished when the screen goes blank.
  208. @0006600 @0007100 vu \n\nAt that time, you may press any key to return to the Editor.
  209.  
  210. # You probably noticed that most of the lines above used the VM (Vertical
  211. # Middle) directive.  We could have made this the default, by specifying
  212. # the global command #DVM near the beginning of the file.  Then we
  213. # wouldn't have had to specify VM on each line, but we would have had to
  214. # specify VB (the former default) for those lines positioned at the bottom
  215. # of the screen.
  216.